# include <bits/stdc++.h>
using namespace std;
const int N=10; 
bool st[N];//false 表示没有选，true表示选过了；
int a[N];//用于存放答案
int ans=0;//用于记录排列的个数
int  dfs (int n,int b)
{
	if(n>b)
	{
		ans++;
		for(int i=1;i<=b;i++)
		{
			printf(" %d ",a[i]);
			}
			printf("\n");
	}
	for(int i=1;i<=b;i++)
	{
		if(!st[i])
		{
			a[n]=i;
			st[i]=true;
			dfs(n+1,b);
			st[i]=false;
			a[n]=0;
		}
	}
	return ans;
}
int main()
{
	int b,c;
	scanf("%d",&b);
	c=dfs(1,b);
	printf("%d",c);
	return 0;
}